package park;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class J18SimpleDateFormat {

	public static void main(String[] args) {
		
		//DateFormat
		//Date클래스나 Calendar 클래스로 날짜와시간을 출력하는 것은 많은 자원이 필요
		//적은 자원으로 간편하게 날짜/시간을 출력하려면 	DateFormat을 사용하자
		//단, 자주 사용하는 출력형태를 4가지로 분류
		
		Date now = new Date();
		DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);
		System.out.println(df.format(now));
		
		df = DateFormat.getDateInstance(DateFormat.LONG);
		System.out.println(df.format(now));
		
		df = DateFormat.getDateInstance(DateFormat.MEDIUM);
		System.out.println(df.format(now));
		
		df = DateFormat.getDateInstance(DateFormat.SHORT);
		System.out.println(df.format(now));
		
		df = DateFormat.getTimeInstance(DateFormat.FULL); //KST = 스텐다드 코리안타임
		System.out.println(df.format(now));
		
		df = DateFormat.getTimeInstance(DateFormat.LONG);
		System.out.println(df.format(now));
		
		df = DateFormat.getTimeInstance(DateFormat.MEDIUM);
		System.out.println(df.format(now));
		
		df = DateFormat.getTimeInstance(DateFormat.SHORT);
		System.out.println(df.format(now));
		
		
		//강추
		//SimpleDateFormat
		//DateFormat 이 지원하는 출력형태 말고 다양하게 날짜와 시간을 출력하기 위해 사용
		//y : 연도를 표시하는 패턴 (yy,yyy)
		//M : 현재 월을 표시하는 패턴 (M,MM)
		//d : 현재 일을 표시하는 패턴(d,dd)
		//E : 현재 요일을 표시하는 패턴(E)
		//D : 현재 연도를 기준으로 총 일수를 표시 (DDD)
	/*	
		String fmf = "yyyy-MM-dd E";
	//	fmf = "yyyy년 MM월 dd일 E요일";
		SimpleDateFormat sdf = new SimpleDateFormat(fmf);
		
		System.out.println(sdf.format(now));
		*/
		
		//h : 현재 시간을 출력 (h,hh)
		//m : 현재 분을 출력 (m,mm)
		//s : 현재 초를 출력 (s,ss)
		//a : 현재 시간의 오전/오후 여부 출력 (a)	
		String fmt = "yyyy-MM-dd E a hh:mm:ss";
		SimpleDateFormat sdf = new SimpleDateFormat(fmt);
		System.out.println(sdf.format(now));
		
	}

}
